import{defineStore} from 'pinia'

export const useGoodStore =defineStore({
    id:'goods',
    state:()=>({
        //此处用来放置各类变量
        //创建一个购物车数组
        cartData:[],
        data:[],  //临时存储数据的变量
        orderData:[]  //创建一个订单数组
    }),
    actions:{
        //此处用来放置各类方法
        //创建一个添加购物车的方法
        cartAdd(val){
            let temp=JSON.parse(sessionStorage.getItem('cart'))
           
            if(temp==null){
                this.cartData.push(val)
            }else{
                this.cartData=temp
                this.data=this.cartData.find(v=>v.id==val.id)
                if(this.data){
                    this.data.num+=val.num
                    this.data.total=this.data.num*this.data.onlineprice
                }else{ 
                    //把传递过来的动物加入到愿望车数组中
                    this.cartData.push(val)
                }

            }
          
            //把购物车数据加入到session中，保证数据在刷新时不会被丢失
            sessionStorage.setItem("cart",JSON.stringify(this.cartData))
        },
        //创建加入订单的方法
        orderAdd(val){
            //定义一个中间数组，用来存储从session中获得的订单数据
            const temp=JSON.parse(sessionStorage.getItem('order'))
            //如果temp是空的，直接把数据插入到订单数组中，否则，要在原订单数组后面插入
            if(temp==null){
            this.orderData.push(val)
        }else{
            this.orderData=temp
            this.orderData.push(val)
        }
        //最后把订单数据更新到session中
        sessionStorage.setItem('order',JSON.stringify(this.orderData))
        }
    }
})